package com.yun.util.yun.utils.http;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

/**
 */
public class HttpClient {
	Map<String, String> parameter = new HashMap<String, String>();
	HttpServletResponse response;

	public HttpClient(HttpServletResponse response) {
		this.response = response;
	}

	public void setParameter(String key, String value) {
		this.parameter.put(key, value);
	}

	public void setUrlAndParam(String toUrl) {

		// System.out.println("tourl="+toUrl);
		String url = toUrl;
		String paramsList = "";
		int index = toUrl.indexOf("?");
		if (index > -1) {
			url = toUrl.substring(0, index).trim();
			paramsList = toUrl.substring(index + 1);
		}

		String[] paramsArray = paramsList.split("&");
		if (paramsArray != null && paramsArray.length > 0) {
			for (int j = 0; j < paramsArray.length; j++) {
				String param = paramsArray[j];
				index = param.indexOf("=");
				if (index > -1) {
					String key = param.substring(0, index).trim();
					String value = param.substring(index + 1).trim();
					setParameter(key, value);
				}
			}
		}

		if (!url.equals("")) {
			try {
				sendByPost(url);
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}

	public void sendByPost(String url) throws IOException {
		this.response.setContentType("text/html");
		PrintWriter out = this.response.getWriter();
		out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
		out.println("<HTML>");
		out.println(" <HEAD><TITLE>sender</TITLE></HEAD>");
		out.println(" <BODY>");
		out.println("<form name=\"submitForm\" action=\"" + url + "\" method=\"post\">");
		Iterator<String> it = this.parameter.keySet().iterator();
		while (it.hasNext()) {
			String key = it.next();
			out.println("<input type=\"hidden\" name=\"" + key + "\" value=\"" + this.parameter.get(key) + "\"/>");
		}
		out.println("</from>");
		out.println("<script>window.document.submitForm.submit();</script> ");
		out.println(" </BODY>");
		out.println("</HTML>");
		out.flush();
		out.close();
	}


    public static void main(String[] args) {

    }
}